//将一条三次bezier曲线切分为两条三次bezier曲线
void split_bezier(
	const Point &pt1, const Point &pt2, const Point &pt3, const Point &pt4, 
	const float &t,
	Point &a1, Point &a2, Point &a3, Point &a4, 
	Point &b1, Point &b2, Point &b3, Point &b4)
{
			const float &x1 = pt1.X, &x2 = pt2.X, &x3 = pt3.X, &x4 = pt4.X;
			const float &y1 = pt1.Y, &y2 = pt2.Y, &y3 = pt3.Y, &y4 = pt4.Y;

			float x23 = (x3 - x2) * t + x2;
			float y23 = (y3 - y2) * t + y2;
			float x34 = (x4 - x3) * t + x3;
			float y34 = (y4 - y3) * t + y3;
			float x234 = (x34 - x23) * t + x23;
			float y234 = (y34 - y23) * t + y23;
			a1 = pt1;
			a2.X = (x2 - a1.X) * t + a1.X;
			a2.Y = (y2 - a1.Y) * t + a1.Y;
			a3.X = (x23 - a2.X) * t + a2.X;
			a3.Y = (y23 - a2.Y) * t + a2.Y;
			a4.X = (x234 - a3.X) * t + a3.X;
			a4.Y = (y234 - a3.Y) * t + a3.Y;

			float x21 = (x2 - x1) * t + x1;
			float y21 = (y2 - y1) * t + y1;
			float x32 = (x3 - x2) * t + x2;
			float y32 = (y3 - y2) * t + y2;
			float x321 = (x32 - x21) * t + x21;
			float y321 = (y32 - y21) * t + y21;
			b4 = pt4;
			b3.X = (b4.X - x3) * t + x3;
			b3.Y = (b4.Y - y3) * t + y3;
			b2.X = (b3.X - x32) * t + x32;
			b2.Y = (b3.Y - y32) * t + y32;
			b1.X = (b2.X - x321) * t + x321;
			b1.Y = (b2.Y - y321) * t + y321;
}